package com.vision.core.cl.mvp;

import com.sencha.gxt.widget.core.client.event.SelectEvent;
import com.vision.core.cl.ui.View;

/**
 * 
 * @author Mark
 *
 */
public interface Presenter<T> {
	
	void setView(View<T> view);
	
	// Toolbar Buttons above the List %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	
	void onRefreshClicked(SelectEvent e);
	void onAddClicked(SelectEvent e);
	void onDeleteClicked(SelectEvent e);
	
	// List %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	
	void loadData();
	void onSelect(T object);
	
	// Form Editor %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	
	void onSaveClicked(SelectEvent e);
	void onCancelClicked(SelectEvent e);
	void onActivateClicked(SelectEvent e);

}
